<?php
final class divers
{

	
	function getNom()
	{
		return $this->nom;
	}
	function getPrenom()
	{
		return $this->prenom;
	}
	function getIdLivreur()
	{
		return $this->id_livreur;
	}
	function getStatut()
	{
		return $this->statut;
	}
	
	function getAdresse()
	{
		return $this->adresse;
	}
	function getTel()
	{
		return $this->tel;
	}
	function liste_livreur($nom="",$disponible="")
	{
		global $bdd1;
		$livreurs=array();
		if (empty($nom)&&(empty($disponible)))
		{$query=" SELECT * FROM livreur " ;} 
		
		elseif (empty($nom)&&($disponible=="Disponible"))
		{$query=" SELECT * FROM livreur WHERE id_livreur IN (SELECT id_livreur FROM planing WHERE semaine=".date('W')." AND jour=".date('N').")";}
		
		elseif (empty($nom)&&($disponible!="Disponible"))
		{$query=" SELECT * FROM livreur WHERE id_livreur NOT IN (SELECT id_livreur FROM planing WHERE semaine=".date('W')." AND jour=".date('N').")";}
		
		elseif (!empty($nom)&&(empty($disponible)))		
		{$query=" SELECT * FROM livreur WHERE nom_livreur LIKE '%".$nom."%' ";}
		
		elseif (!empty($nom)&&($disponible=="Disponible"))		
		{$query=" SELECT * FROM livreur WHERE nom_livreur LIKE '%".$nom."%' AND id_livreur IN (SELECT id_livreur FROM planing WHERE semaine=".date('W')." AND jour=".date('N').")";}
		
		elseif (!empty($nom)&&($disponible!="Disponible"))		
		{$query=" SELECT * FROM livreur WHERE nom_livreur LIKE '%".$nom."%' AND id_livreur NOT IN (SELECT id_livreur FROM planing WHERE semaine=".date('W')." AND jour=".date('N').")";}
		
		
		$resultat = $bdd1->query ($query);
		//$livreur = $resultat->fetchObject();
		//print_r($livreur);
		while($row = $resultat->fetchObject())
		{
			$livreur= new livreur();
			$livreur->id_livreur=$row->id_livreur;
			$livreur->nom=$row->nom_livreur;
			$livreur->prenom=$row->prenom_livreur;
			$livreur->statut= $row->statut;
			$livreur->tel= $row->tel;

			$livreurs[]=$livreur;
		}
		return $livreurs;
	}
	function get_last_position($id_livreur)
	{
		global $bdd1;
		
		$query="SELECT *  FROM gps WHERE id_livreur=".$id_livreur." AND date_position=(SELECT MAX( date_position ) FROM gps WHERE id_livreur =".$id_livreur." ) ";
		$resultat = $bdd1->query($query);
		return $resultat->fetchObject();
	}

	
	function delete_livreur($id_livreur)
	{
		global $bdd1;
		
		$query="DELETE FROM livreur WHERE id_livreur='".$id_livreur."'";
		$bdd1->exec($query);
		return true;
	}
	
	function ajouter_livreur($livreur)
	{
		global $bdd1;
		
		$query="INSERT INTO livreur SET ";
		$query .=(empty($livreur->nom))? "": 'nom_livreur="'.$livreur->nom.'" ';
		$query .=(empty($livreur->prenom))? "": ',prenom_livreur="'.$livreur->prenom.'" ';
		$query .=',statut="'.$livreur->statut.'" ';
		$query .=(empty($livreur->adresse))? "": ',adresse="'.$livreur->adresse.'" ';
		$query .=(empty($livreur->tel))? "": ',tel="'.$livreur->tel.'" ';
		//return $query;
		$bdd1->exec($query);
		return true;
	}
	
	function modifier_livreur($livreur)
	{
		global $bdd1;
		//return $livreur->nom;
		$query="UPDATE livreur SET ";
		$query .= 'nom_livreur="'.$livreur->nom.'" ';
		$query .= ',prenom_livreur="'.$livreur->prenom.'" ';
		$query .=',statut="'.$livreur->statut.'" ';
		$query .=',adresse="'.$livreur->adresse.'" ';
		$query .=',tel="'.$livreur->tel.'" ';
		$query .=' WHERE id_livreur="'.$livreur->id_livreur.'"';
		$bdd1->exec($query);
		return true;
	}
	function add_planing($planing)
	{
		global $bdd1;
		$query=" SELECT MAX(id_livreur) as last_id FROM livreur";
		$resultat = $bdd1->query ($query);
		$res=$resultat->fetchObject();
	//	return $res; 
		foreach($planing as $key=>$value)
		{
		 $query="INSERT INTO planing SET id_livreur=".$res->last_id.", semaine=".date('W').", jour=".$key.", deb=".$value['deb'].", fin=".$value['fin'];
		// return $query;
		 $bdd1->exec($query);
		// unset($query);
		}
	}
	
	function edit_planing($planing,$id_livreur)
	{
		global $bdd1;
			$query="DELETE FROM planing WHERE id_livreur=".$id_livreur." AND semaine=".date('W');
			$bdd1->exec($query);
			
		foreach($planing as $key=>$value)
		{
			 $query="INSERT INTO planing SET id_livreur=".$id_livreur.", semaine=".date('W').", jour=".$key.", deb=".$value['deb'].", fin=".$value['fin'];
			// return $query;
			 $bdd1->exec($query);
			// unset($query);
		}
	}
	function get_planing($id_livreur)
	{
		global $bdd;
		$query="SELECT * FROM planing WHERE id_livreur=".$id_livreur." AND semaine=".date('W');
		$resutat=$bdd->query($query);
		$planing=array();
		while($row = $resutat->fetchObject())
		{
			$planing[$row->jour]=array('deb'=>$row->deb,'fin'=>$row->fin);
		}
		return $planing;
	}
	
	function get_dispo($id_livreur)
	{
		global $bdd1;
		$query="SELECT distinct(semaine) FROM planing WHERE (id_livreur=".$id_livreur." AND semaine=(SELECT MAX(semaine) FROM planing ) )";
		$resultat = $bdd1->query($query);
		return $resultat->fetchObject();
	}
	
	//fonction qui listes les livreurs dispobibles et non actifs	
	function liste_livreurs_dispo()
	{
		global $bdd;
		$livreurs=array();
		

		//$query=" SELECT nom_livreur FROM livreur WHERE id_livreur IN (SELECT id_livreur FROM planing WHERE semaine=".date('W')." AND jour=".date('N').") ";
		$query=" SELECT nom_livreur FROM livreur WHERE id_livreur IN (SELECT id_livreur FROM planing WHERE semaine=".date('W')." AND jour=".date('N').") AND statut = 'Non' " ; 

		
		$resultat = $bdd->query ($query);

			while($row = $resultat->fetchObject())
		{
			$livreur= new livreur();
			$livreur->nom=$row->nom_livreur;
		
			$livreurs[]=$livreur;
		}
		return $livreurs;
	}
	
	
//fonction qui affiche les livreurs en mission	
	function livraisons_encours()
	{
		global $bdd;
		$liste_affectation=array();

		$query=" SELECT nom_livreur FROM livreur WHERE id_livreur IN (SELECT id_livreur FROM planing WHERE semaine=".date('W')." AND jour=".date('N').") AND statut = 'Oui' " ; 
	
		$resultat = $bdd->query ($query);

			while($row = $resultat->fetchObject())
		{
			$livreur= new livreur();
			$livreur->nom=$row->nom_livreur;
			
			$listes_affectation[]=$livreur;
		}
		return $listes_affectation;
	
		
		
	}	

	
	
}
?>